--[[
战斗模式相关逻辑
--]]


COMBAT_MODE_PEACE = 0	-- 和平模式 所有人都不攻击
COMBAT_MODE_PVP = 1		-- 全体模式，所有人都能攻击
COMBAT_MODE_TEAM = 2   -- 组队模式 , 攻击队外的人
COMBAT_MODE_FAMILY = 3	-- 军团模式，  攻击军团外的人
COMBAT_MODE_CAMPS = 4	--  阵营模式，不能攻击同一阵营的人
COMBAT_MODE_WILD = 5  --  野外模式，不能攻击同军团和同队友

local MapExcel = require("excel.Map")
local Obj = require("core.Obj")
local Msg = require("core.Msg")
local Map = require("core.Map")


function sendCombatMode(human, areaSend)
	local msgRet = Msg.gc.GC_ROLE_COMBAT_MODE
	msgRet.objID = human.id
	local combatMode = getCombatMode(human)
	local combatSide = getCombatSide(human)
	msgRet.combatMode = combatMode
	msgRet.combatSide = combatSide
	human.combatMode = combatMode
	human.combatSide = combatSide	
	if areaSend then
		Obj.sendArea(msgRet, human.scene_id, human.x, human.y)
	else
		Msg.send(msgRet, human.fd)
	end
end

function getCombatMode(human)  
  local mapID = Map.scene_id_to_map_id[human.scene_id]
  local config = MapExcel.scene[mapID]
  if not config then
      human.combatMode = COMBAT_MODE_PEACE
      return COMBAT_MODE_PEACE
  end
  
  human.combatMode = config.isPVP   
  return human.combatMode
end

function getCombatSide(human)
	return human.camps
end
